d6a99e
@@ -17,9 +17,6 @@
  */
 package org.apache.hadoop.hive.ql.plan;
 
-import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.hive.ql.exec.BucketMatcher;
-
 import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -28,6 +25,10 @@
 import java.util.Map;
 import java.util.regex.Pattern;
 
+import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hive.common.FileUtils;
+import org.apache.hadoop.hive.ql.exec.BucketMatcher;
+
 /**
  * was inner class of MapreLocalWork. context for bucket mapjoin (or smb join)
  */
@@ -199,7 +200,8 @@
private String prependPartSpec(String inputPath, String fileName) {
     Map<String, String> mapping = inputToPartSpecMapping == null ?
         inputToPartSpecMapping = revert(bigTablePartSpecToFileMapping) : inputToPartSpecMapping;
     String partSpec = mapping.get(inputPath);
-    return partSpec == null || partSpec.isEmpty() ? fileName : "(" + partSpec + ")" + fileName;
+    return partSpec == null || partSpec.isEmpty() ? fileName :
+      "(" + FileUtils.escapePathName(partSpec) + ")" + fileName;
   }
 
   // revert partSpecToFileMapping to inputToPartSpecMapping
